package exsun.jt808.data.distribute_data;

import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
@Data
public class DistributeEntity implements Serializable {

    // 消息类型
//    @JsonIgnore
    public String distributeMsgTopic;

    // 设备号
    @NotBlank
    public String devNo;

    // 请求ID
//    @JsonIgnore
    public String requestId;

    // 用户id
    @NotBlank
    public String userId;

    // 用户名
    @NotBlank
    public String userName;

    // 下发时间
//    @JsonIgnore
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    public Date distributeTime;

    // 消息Id
//    @JsonIgnore
    public int msgId;

    // 流水号
//    @JsonIgnore
    public int serialNo;

    //是否应答
    public boolean response;


    public Integer versionId;

    /**
     * 主机名
     */
    public String hostName;

    public JSONObject toJSONString(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        JSONObject object = new JSONObject();
        object.put("distributeMsgTopic",distributeMsgTopic);
        object.put("devNo",devNo);
        object.put("requestId",requestId);
        object.put("userId",userId);
        object.put("userName",userName);
        object.put("distributeTime",sdf.format(distributeTime));
        object.put("msgId",msgId);
        object.put("serialNo",serialNo);
        object.put("response",response);
        object.put("versionId",versionId);
        object.put("hostName",hostName);
        return object;
    }



}
